小编Nit*_*jer的帖子

为什么即使在System.exit(0)之后也需要返回;

考虑这个功能:

public boolean foo(){
   System.exit(1);
   //The lines beyond this will not be read
   int bar = 1;                  //L1
   //But the return statement is required for syntactically correct code
   return false;                 //L2

   //error here for unreachable code
   //int unreachable = 3;        //L3

}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么L1和L2明显无法访问不会发出警告但L3会发出警告.

java return

29
推荐指数
4
解决办法
7648
查看次数

GenericJDBCException:无法加载实体

我试图读取一个懒惰的初始化实体ProductUnits,它是一个持久集,并为此打开一个新的会话.

Session session = HibernateUtil.getSessionFactory().openSession();
session.update(stock.getProduct());
List<ProductUnits> units = new ArrayList<ProductUnits>(stock.getProduct().getUnits());
Run Code Online (Sandbox Code Playgroud)

问题是在运行时它抛出异常

org.hibernate.exception.GenericJDBCException: could not load an entity: [hibernate.tables.plain.Product#1]
Run Code Online (Sandbox Code Playgroud)

但在逐步调试时,它运行得非常好.是session.update需要一些时间还是我错过了什么

异常堆栈是

    Exception in thread "AWT-EventQueue-0" org.hibernate.exception.GenericJDBCException: could not load an entity: [hibernate.tables.plain.Product#2]
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1895)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:121)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:863)
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:95)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at hibernate.tables.plain.Product_$$_javassist_15.getUnits(Product_$$_javassist_15.java)
at bill.mainBill.InputProductsPanel.computeStockAvailablity(InputProductsPanel.java:278)
at bill.mainBill.InputProductsPanel.findStock(InputProductsPanel.java:242)
at bill.mainBill.ProductDetailPanel.setStats(ProductDetailPanel.java:315)
at bill.mainBill.ProductDetailPanel$3.focusLost(ProductDetailPanel.java:187)
at java.awt.AWTEventMulticaster.focusLost(Unknown …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate

6
推荐指数
1
解决办法
3万
查看次数

如何从对象中查找一个类是否是单例类?

给定一个对象,我们如何检查一个类是否是单例的?

目前我正在使用这个

public class SingletonClass implements IsSingleton
Run Code Online (Sandbox Code Playgroud)

其中IsSingleton是我在单例类上实现的空白接口。所以这个类可以作为单例进行测试

SingletonClass obj = SingletonClass.getInstance();
if(obj instanceof IsSingleton)
    System.out.println("Class is Singleton");
else
    System.err.println("Class not singleton");
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来确定 Singleton 类。我已经尝试过reflection,但问题是getConstructors()只返回声明的公共类。因此它将把没有声明构造函数的类视为单例。

java singleton

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×3

hibernate ×1

mysql ×1

return ×1

singleton ×1