我有一个简单的问题。我已经看到了两种方式的示例。问题是-“为什么不能在字段上放置注释?”。让我举一个例子....
@Entity
@Table(name="widget")
public class Widget {
private Integer id;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Integer getId() { return this.id; }
public Integer setId(Integer Id) { this.id = id;}
}
上面的代码很好用(假设那里没有错字)。当将注释放在属性的getter上时,一切就完美了。
但是,这对我来说似乎很尴尬。在我看来,将注解放在字段上比较干净,就像这样-
@Entity
@Table(name="widget")
public class Widget {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
public Integer getId() { return this.id; }
public Integer setId(Integer Id) { this.id = id;}
}
我已经看到了两种方式的示例。但是,当我运行第二个示例时,我得到以下信息…
java.lang.NullPointerException
在com.widget.util.hibernate.HibernateSessionFactory $ ThreadLocalSession.initialValue(HibernateSessionFactory.java:25)
在com.widget.util.hibernate.HibernateSessionFactory $ ThreadLocalSession.initialValue(HibernateSessionFactory.java:1)
在java.lang.ThreadLocal $ ThreadLocalMap.getAfterMiss(未知来源)
在java.lang.ThreadLocal $ ThreadLocalMap.get(未知来源)
在java.lang.ThreadLocal $ ThreadLocalMap.access $ 000(未知源)
在java.lang.ThreadLocal.get(未知来源)
在com.widget.util.hibernate.HibernateSessionFactory.get(HibernateSessionFactory.java:33)
在com.widget.db.dao.AbstractDao。(AbstractDao.java:12)
在com.widget.db.dao.WidgetDao。(WidgetDao.java:9)
在com.widget.db.dao.test.WidgetDaoTest.findById(WidgetDaoTest.java:17)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)
在java.lang.reflect.Method.invoke(未知来源)
...
这是HibernateSessionFactory
(标有第25行)… 的骨架。
protected Session initialValue() {
SessionFactory sessionFactory = null;
try {
Configuration cfg = new AnnotationConfiguration().configure();
String url = System.getProperty("jdbc.url");
if (url != null) {
cfg.setProperty("hibernate.connection.url", url);
}
sessionFactory = cfg.buildSessionFactory();
}
catch (Exception e) {
}
Session session = sessionFactory.openSession(); // LINE 25
return session;
}
有人知道这里发生了什么吗?
问题内容: 我有一个简单的问题。我已经看过两种方式的例子。问题是-“为什么不能在字段上放置注释?”。让我举一个例子.... 上面的代码可以正常工作(假设那里没有错字)。当将注释放在属性的getter上时,一切就完美了。 但是,这对我来说似乎很尴尬。在我看来,将注解放在字段上比较干净,就像这样- 我已经看到了两种方式的示例。但是,当我运行第二个示例时,我得到以下信息… 这是(标有第25行)… 的骨架
我们在spring boot应用程序中对bean、存储库和控制器的计时有一个奇怪的问题。 我们有一个有地图支持的NodeRepository。这个Map对象应该是我们使用@Bean注释创建的一个Map,但Spring似乎正在创建自己的Map,并将其注入到我们的NodeRepository中。这是一个问题,因为Spring假设了我们的键值,所以地图中的键是错误的。 以下是所有需要的代码: 组织。xx
问题内容: hibernate注释应该放在哪里? 它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗? 非常感谢 问题答案: 您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中: 2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上
问题内容: 休眠注释应该放在哪里? 它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗? 非常感谢 问题答案: 您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中: 2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,
我写我自己的CMS与教义2.5.4和纯PHP 5。 这是我的CMS(谷歌链接)。 在构建过程中,我反驳了这个错误: 错误NewsDAO:异常“条令\ORM\Mapping\MappingException”和消息“Class”News不是有效的实体或映射的超类。'in/var/www/html/xxxxx.com/public_html/vendor/doctor/orm/lib/doctor/o
我在AspectJ实现方面遇到了一些问题! 我想为带有@myAnnotation注释的方法创建一个日志方法。 然而,这似乎不起作用。它没有记录任何东西! 我在中使用了断点来检查结果,但没有成功! 有人知道为什么这行不通吗?