我刚刚下载了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吗?
我在配置一个使用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) 我有以下关于 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)