乐观 发表于 2015-1-18 11:00:22

来看利用hibernate4.3的时分猎取SessionFactory和之前纷歧样

通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。
hibernate4.3
利用hibernate4.3的时分猎取SessionFactory和之前纷歧样,网上看到一篇(StackOverFlow内里的),可使用上面的体例:

packageutil.hibernate;

importorg.hibernate.HibernateException;
importorg.hibernate.Session;
importorg.hibernate.SessionFactory;
importorg.hibernate.boot.registry.StandardServiceRegistry;
importorg.hibernate.boot.registry.StandardServiceRegistryBuilder;
importorg.hibernate.cfg.Configuration;

publicclassHibernateUtil{
privatestaticSessionFactoryfactory;

static{
try{
Configurationconfiguration=newConfiguration().configure();
StandardServiceRegistryserviceRegistry=newStandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
factory=configuration.configure().buildSessionFactory(serviceRegistry);

}catch(HibernateExceptione){
e.printStackTrace();
}
}

publicstaticSessionFactorygetSessionFactory(){
returnfactory;
}

publicstaticSessiongetOpenSession(){
returnfactory.openSession();
}

publicstaticSessiongetCurrentSession(){
returnfactory.getCurrentSession();
}

publicstaticvoidcloseSession(Sessionsession){
if(session!=null){
if(session.isOpen()){
session.close();
}
}
}
}利用StandardServiceRegister类来初始化我们的SessionFactory。
检察本栏目更多出色内容:http://www.bianceng.cn/Programming/Java/
可是在利用注解的时分,却呈现了上面的毛病:

java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax/persistence/Index;
atorg.hibernate.cfg.annotations.EntityBinder.processComplementaryTableDefinitions(EntityBinder.java:936)
atorg.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:781)
atorg.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3762)
atorg.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3716)
atorg.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1410)
atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1844)
atutil.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:17)
atHibernateTest.testSave(HibernateTest.java:24)
atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
atjava.lang.reflect.Method.invoke(Method.java:606)
atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
atorg.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
atorg.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
atorg.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
atorg.junit.runners.ParentRunner.run(ParentRunner.java:220)
atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)了局弄了很久都没弄定,可是我之前用4.3的是能够的,怎样回事?
经由过程对照,我发明在model类中假如利用了Table(name="t_user"),就会报如许的毛病,可是假如我写成@Entity(name="t_user")如许就没成绩了,这个多是Hibernate4.3的一个bug?这就不得而知了,不外假如用4.3的话,那末间接利用Entity来指定表名就能够办理这个成绩了。

自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。

透明 发表于 2015-1-20 12:33:54

是一种使网页(Web Page)产生生动活泼画面的语言

冷月葬花魂 发表于 2015-1-25 23:23:54

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

小魔女 发表于 2015-2-3 05:39:09

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

再见西城 发表于 2015-2-8 19:44:01

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

精灵巫婆 发表于 2015-2-25 23:38:33

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

admin 发表于 2015-3-8 10:15:05

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

深爱那片海 发表于 2015-3-15 21:41:31

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

金色的骷髅 发表于 2015-3-22 05:10:15

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

蒙在股里 发表于 2015-3-22 05:10:15

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页: [1]
查看完整版本: 来看利用hibernate4.3的时分猎取SessionFactory和之前纷歧样