模型如下:
@Entity
public class Topic {
@Id
@GeneratedValue
private int id;
private String title;
private Date createdAt;
.......
}
用法如下:
public interface TopicDao {
@Find
Topic find(int id);
@Find(load = true)
Topic load(int id);
@Save
void save(Topic topic);
@Delete
void delete(Topic topic);
@Query("from Topic where title like ?")
List<Topic> findByTitle(String title);
@Query("from Topic")
List<Topic> findAll(@FirstResult int firstResult, @MaxResults int maxResults);
@Query("from Topic where id = ?")
boolean isExist(int id);
@Query(value = "delete from Topic where createdAt < ?", update = true)
int deleteByCreatedAt(Date createdAt);
@Query("select count(*) from Topic")
long count();
}
然后在配置文件中增加如下代码:
<bean id="topicDao" class="com.dynamicDao.DynamicDaoFactoryBean" p:daoInterface="com.dynamicDao.dao.TopicDao">