问题描述
使用hibernate的时候,调用hql查询实体,不会调用实体的setXXX方法;用对象化Criteria方法查询实体,用调用实体的setXXX方法?如果是这样,那么用hql查询的时候,没有调用setXXX方法,字段值是如果写到实体里面去的?
解决方案
解决方案二:
不是set么,那是构造方法么,不科学啊
解决方案三:
你不是写了配置么。。映射关系。。实体对象和数据库有映射关系
解决方案四:
还有Hql是对实体操作的。。通过实体映射到数据库的
解决方案五:
没有使用构造方法,映射关系等等都是正常的,我是使用注解,也能正确查询到数据。我的疑惑是,我通过hql查询,在setXxx方法加断点,根本没有进入。
解决方案六:
这是Hibernate已经封装了、实体类是与数据库表进行对应的、HQL语句查询实体、当然是不会走实体的、
解决方案七:
你要是认为不调用setXXXX方法你可以在实体里把setter方法去掉然后执行一下就知道调用了没~~~
解决方案八:
如果是注解的话,hibernate可以通过反射来给实体字段设值,即使你的字段是private的,如果你在某个组件使用过javax的@Inject注解你就知道了,即使这个组件申明为private,ioc容器也是可以注入进去的,比如UserService中的privateUserDaouserDao上面加上@Inject注解,不需要setter,也是可以注入这个userDao组件的,只要你ioc容器中有userDaobean
解决方案九:
我怎么没看明白啊,你对应生成的实体类里面是有getset方法的啊,他本来就有,你为什么当成没有呢
时间: 2024-12-03 07:53:40