- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 maven 配置 hbm2java
来生成 POJO 类和 DAO 对象。我正在处理的问题之一是未生成包名称。我为此使用以下 pom:
<execution>
<id>hbm2java</id>
<phase>generate-sources</phase>
<goals>
<goal>hbm2java</goal>
</goals>
<inherited>false</inherited>
<configuration>
<components>
<component>
<name>hbm2java</name>
<implementation>configuration</implementation>
</component>
</components>
<componentProperties>
<packagename>package.name</packagename>
<configurationfile>target/hibernate3/generated-mappings/hibernate.cfg.xml</configurationfile>
</componentProperties>
</configuration>
</execution>
但是生成的代码以以下内容开头:
// default package
// Generated 2010-05-17 13:11:51 by Hibernate Tools 3.2.2.GA
/**
* Messages generated by hbm2java
*/
public class Messages implements java.io.Serializable {
有没有办法强制maven生成package中定义的package部分?
更新:
这是我的 hibernate.cfg.xml,也是由 hibernate-tools (hbm2cfgxml) 自动生成的:
<?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.c3p0.max_size">20</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">1800</property>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/db</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<mapping resource="package/name/Messages.hbm.xml" />
</session-factory>
</hibernate-configuration>
最佳答案
为了以防万一,这里是 hibernate3-maven-plugin 的自下而上方法的工作配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>generate-xml-files</id>
<phase>generate-resources</phase>
<goals>
<goal>hbm2hbmxml</goal>
<goal>hbm2cfgxml</goal>
</goals>
</execution>
<execution>
<id>generate-entities</id>
<phase>generate-sources</phase>
<goals>
<goal>hbm2java</goal>
</goals>
</execution>
</executions>
<configuration>
<components>
<component>
<name>hbm2hbmxml</name>
<implementation>jdbcconfiguration</implementation>
<outputDirectory>target/classes</outputDirectory>
</component>
<component>
<name>hbm2cfgxml</name>
<implementation>jdbcconfiguration</implementation>
<outputDirectory>target/classes</outputDirectory>
</component>
<component>
<name>hbm2java</name>
<implementation>configuration</implementation>
<outputDirectory>target/generated-sources/hibernate3</outputDirectory>
</component>
</components>
<componentProperties>
<propertyfile>src/main/resources/database.properties</propertyfile>
<jdk5>true</jdk5>
<ejb3>false</ejb3>
<packagename>com.mycompany.myapp</packagename>
<format>true</format>
<haltonerror>true</haltonerror>
</componentProperties>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.5.3.0_1</version>
</dependency>
</dependencies>
</plugin>
这是我的src/main/database.properties
的内容文件:
hibernate.connection.driver_class=org.apache.derby.jdbc.EmbeddedDriver
hibernate.connection.url=jdbc:derby:./derbyDBs/EMPLDB
hibernate.connection.username=APP
hibernate.connection.password=APP
hibernate.dialect=org.hibernate.dialect.DerbyDialect
#workaround for http://opensource.atlassian.com/projects/hibernate/browse/HBX-1145
hibernate.connection.autocommit=true
此设置:
*.hbm.xml
在target/classes
(随包)generate-resources
期间.hibernate.cfg.xml
在target/classes
包含映射文件的条目。target/generated-sources/hibernate3
中的映射生成实体(我建议遵循生成源的 target/generated-sources/<tool>
约定,以便 IDE 自动检测到它们)。这是 clean compile
的结果针对具有两个表的示例数据库:
$ mvn clean compile...$ tree target/target/├── classes│ ├── com│ │ └── mycompany│ │ └── myapp│ │ ├── Department.class│ │ ├── Department.hbm.xml│ │ ├── Employee.class│ │ └── Employee.hbm.xml│ ├── database.properties│ └── hibernate.cfg.xml└── generated-sources └── hibernate3 └── com └── mycompany └── myapp ├── Department.java └── Employee.java
关于hibernate - 如何配置 hbm2java 和 hbm2dao 将包名添加到生成的类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848567/
安装flutter_ffmpeg时我应该设置包名 安卓/build.gradle ext { flutterFFmpegPackage = "" } 并在 ios/Podfile if plu
我克隆了 sms-backup-plus存储库。这是 eclipse 的存储库文件夹结构。 但是项目中的包名称是com.zegoggles.smssync;。所以我收到错误声明的包与预期的包不匹配。我
这个问题在这里已经有了答案: Rename package in Android Studio (55 个答案) 关闭 4 年前。 你好,有什么方法可以使用这种格式重命名包名吗 live.compa
是否有合法的“通用”包名称可用于开源一些演示代码? 我想通过 Google Code 或任何地方提供演示 Android 应用程序的源代码作为“公共(public)域”,但我希望源代码包是“通用的”。
我的域名是3DTOPO.com。显然java不允许包域名以数字开头。 为什么Java反向域名不遵循与域名相同的规则?我真的不想将我的包命名为 com.threedtopo.... 首先,这不是我的域名
我们在AndroidManifest.xml中声明的包名是一个应用程序的唯一ID。为了避免命名冲突,我们通常在这个包名中使用域名,例如“com.google.*”。这样的话,就没办法避免其他人在他们的
在《OCA Java SE 7 Programmer I Study Guide》一书中找到了java.*和javax.*是非法(保留)包名的资料。当我尝试创建包“java”并从中运行类时,我收到:
在我深入研究 Java API 的过程中,我遇到了 impl 和 internal 包。到目前为止,我从未真正考虑过其中的区别 - 与所有企业级 Java 应用程序一样,我认为它们只是意味着“此处的实
当我去https://packagist.org/packages/submit提交我的包裹。 显示此错误, The package name apzentral/ink is invalid, it
所以我有基础应用程序类 DApp。 我的 flavor 应用程序类只是扩展了 DApp。 例如 package com.d.android; public class App extends DApp
我有一个模板 应用程序,可以根据客户的品牌轻松更改配置参数来重新设计外观。在 Google Play 上发布时,我显然需要更改 AndroidManifest.xml 上的 packagename。
我正在使用此命令获取 logcat: C:\abs\adb logcat >> "Testdata".txt 这是收集设备上发生的所有日志。 但我只想获取“特定于应用程序”的日志,有人可以帮我吗? 我
我是一名优秀的程序员,十分优秀!