小编Mir*_*ile的帖子

Glassfish 3.1.2和Eclipse

我刚刚下载了Glassfish版本3.1.2,这还不是官方发布.我需要这个版本,因为我的Web应用程序正在使用websockets.我现在遇到的问题是用于eclipse的Glassfish插件,他没有认识到新的Glassfish版本.使用Eclipse中的Glassfish 3.1.1版一切正常.我正在使用Oracle的Oracle Glassfish服务器工具(Eclipse插件)版本2.0.0.20111104904(我可以下载的最新版本).如果我尝试在Eclipse中为Glassfish 3.1.2添加新的服务器运行时环境,我会收到错误:指定目录中没有有效的GlassFish安装...我需要能够在Eclipse中调试我的Web应用程序.

谁知道插件正在检查什么?这个插件有什么变化可以使用Glashfish 3.1.2吗?

glassfish

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

使用Hibernate配置Spring JPA应用程序进行单元测试(延迟加载)

我在配置一个使用JPA和Hibernate进行单元测试的Spring应用程序时遇到问题.我有2个persistence.xml文件,一个用于生产,一个用于单元测试.用于检测:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
  <persistence-unit name="prod_pu" transaction-type="JTA">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <jta-data-source>jdbc/ds_prod</jta-data-source>

  <properties>
    <property name="hibernate.bytecode.use_reflection_optimizer" value="false"/>
    <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
    <property name="hibernate.connection.password" value="passsample"/>
    <property name="hibernate.connection.url" value="jdbc:oracle:thin:urlsample"/>
    <property name="hibernate.connection.username" value="usernamesample"/>
    <property name="hibernate.default_schema" value="schemassample"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
  </properties>
  </persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

用于检测:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">

<persistence-unit name="test_pu" transaction-type="RESOURCE_LOCAL">
  <provider>org.hibernate.ejb.HibernatePersistence</provider>
  <properties>
    <property name="hibernate.bytecode.use_reflection_optimizer" value="false"/>
    <property name="hibernate.connection.driver_class" value="oracle.jdbc.OracleDriver"/>
    <property name="hibernate.connection.password" value="passsample"/>
    <property name="hibernate.connection.url" value="jdbc:oracle:thin:urlsample"/>
    <property name="hibernate.connection.username" value="usernamesample"/>
    <property name="hibernate.default_schema" value="schemasample"/>
    <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
  </properties>
  </persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

区别在于单元测试我不使用任何JTA(全局事务),我只使用本地事务.

生产的弹簧配置是:

 <jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/ds_prod"/>

 <bean id="transactionManager" …
Run Code Online (Sandbox Code Playgroud)

spring hibernate lazy-loading jpa-2.0

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

Hibernate 工具,逆向工程

我有以下关于 Hibernate 工具和配置的问题:我将 hibernate 配置为使用逆向工程从数据库生成 JPA 类,如下所示:

休眠文件.cfg.xml

 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 <hibernate-configuration>
   <session-factory>
       <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
       <property    name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property>
       <property name="hibernate.connection.password">pass</property>
       <property name="hibernate.connection.url">jdbc:oracle:thin:url</property>
       <property name="hibernate.connection.username">user</property>
       <property name="hibernate.default_schema">schema</property>
       <property     name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
    </session-factory>
  </hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

然后我要对配置进行逆向工程:

hibernate.reven.xml

<hibernate-reverse-engineering>
  <table-filter match-name="TB1"/>
    <table name="TB_1" class="com.classtb1">
     <column name="ENDPAGE" property="pageIntervalEnd"/>
     <column name="SELECTABLE" property="selectableInd"/>
  </table>
</hibernate-reverse-engineering>
Run Code Online (Sandbox Code Playgroud)

这是此逆向工程配置文件中映射的表的示例。

现在默认情况下,实体的所有关系都是这样生成的:

  @Entity
  @Table(name="TB1"
  )
  public class Classtb1  implements java.io.Serializable {
   ...
        private Set<Classtb1Entry> classtb1= new HashSet<Classtb1Entry>(0);
   ...
       @OneToMany(fetch=FetchType.LAZY, mappedBy="Classtb1")
    public Set<Classtb1Entry> getClasstb1Entries() {
      return this.classtb1Entries;
    } …
Run Code Online (Sandbox Code Playgroud)

reverse-engineering hibernate-tools

5
推荐指数
1
解决办法
8966
查看次数