上一个问题的后续问题:使用Hibernate 4生成SQL DB创建脚本
目标是让命令行工具能够生成具有给定持久性单元的SQL模式的文件(类似于Hibernate Tools中存在的hibernatetool-hbm2ddl Ant任务).
根据我之前的问题的答案,这可以实现org.hibernate.tool.hbm2ddl.SchemaExport.
而不是将所有实体添加到Configuration(如上一个答案中所建议的)我想指定一个PersistenceUnit.
是否可以在Hibernate中添加持久性单元Configuration?
就像是
Properties properties = new Properties();
properties.put( "hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect" );
...
EntityManagerFactory entityManagerFactory =
Persistence.createEntityManagerFactory( "persistentUnitName", properties );
Configuration configuration = new Configuration();
... missing part ...
SchemaExport schemaExport = new SchemaExport( configuration );
schemaExport.setOutputFile( "schema.sql" );
...
Run Code Online (Sandbox Code Playgroud)
按照评论中的要求编辑样本persistence.xml.每个类都注明了@Entity
<persistence
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0"
>
<persistence-unit
name="doiPersistenceUnit"
transaction-type="JTA"
>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/doi</jta-data-source>
<class>ch.ethz.id.wai.doi.bo.Doi</class>
[...]
<class>ch.ethz.id.wai.doi.bo.DoiPool</class> …Run Code Online (Sandbox Code Playgroud) 当我尝试使用蚂蚁邮件任务时,它似乎无法发送带有附件的邮件。我当前面临的问题是,即使详细输出显示为与附件一起发送,它也会在电子邮件正文中发送附件内容,而不是作为附件发送。最初它抱怨缺少jar,因此我添加了mail.jar和activation.jar。这是我尝试过的代码段:
<mail mailhost="mailHost.com" messagemimetype="text/html" subject="Test report" >
<from address="mymaild-addr@somedomain.com"/>
<replyto address="mymaild-addr@somedomain.com"/>
<to address="mymaild-addr@somedomain.com"/>
<message> Attached is sample report </message>
<attachments>
<fileset dir="${myRequiredDirectory}">
<include name="Test.txt"/>
<include name="Calls.txt"/>
</fileset>
</attachments>
</mail>
Run Code Online (Sandbox Code Playgroud)
我得到
[mail] Failed to initialise MIME mail: org.apache.tools.ant.taskdefs.email.MimeMailer
[mail] Failed to initialise UU mail: Class org.apache.tools.ant.util.ClasspathUtils can not access a member of class org.apache.tools.ant.taskdefs.email.UUMailer with modifiers ""
[mail] Sending email: Test report
[mail] Sent email with 2 attachments
Run Code Online (Sandbox Code Playgroud) 在编译脚本时,我遇到了命令do f=${file##*/}.我很想知道##这一行意味着什么.感谢您提前回复
我正在使用Net :: SMPP包来处理SMPP协议.其中一个协议参数应为NULL终止字符串.当我发送它时,我做:
my $receipted_message_id = '111111'."\0";
Run Code Online (Sandbox Code Playgroud)
当我收到它时,我剥去了最后一个角色.
有没有更好的方法在Perl中使用"C String"?
我们正在使用带有JPA的PostgreSQL,它将大字符串映射到具有类型的列TEXT.
虽然以编程方式我们能够读取和写入数据,但是当我选择数据时,pgAdmin和psql只显示对象ID.
有没有一种方法/工具可以快速选择数据而无需使用某些API(例如,JDBC)?
一个例子:
doi=> \d+ xmlsnippet;
Table "doi.xmlsnippet"
Column | Type | Modifiers | Storage | Description
--------------+------------------------+-----------+----------+-------------
dbid | bigint | not null | plain |
version | bigint | not null | plain |
datasnippet | text | | extended |
doi | character varying(255) | | extended |
doipool_dbid | bigint | | plain |
Run Code Online (Sandbox Code Playgroud)
该列datasnippet包含一些大字符串(使用XML代码)
当我选择它时,我明白了
doi=> select * from xmlsnippet;
dbid | version | datasnippet | doi | doipool_dbid
-------+---------+-------------+--------------------------+-------------- …Run Code Online (Sandbox Code Playgroud) 我们在测试环境中使用嵌入式 Glassfish 服务器。我们使用org.glassfish.embeddable.CommandRunner界面来执行管理任务(即,我们asadmin使用标准的独立 Glassfish 服务器执行的操作)
例子:
GlassFish glassfish = GlassFishRuntime.bootstrap( bp ).newGlassFish( gfp );
CommandRunner commandRunner = glassfish.getService( CommandRunner.class );
commandRunner.run(
"create-jms-resource",
"--restype",
"javax.jms.Queue",
"SOME_QUEUE_NAME"
);
Run Code Online (Sandbox Code Playgroud)
现在在命令行上,我可以使用imqcmd. 例如
imqcmd -u admin -passfile ../password.txt update dst -n SOME_QUEUE_NAME -t q -o maxBytesPerMsg=-1 -f
Run Code Online (Sandbox Code Playgroud)
有没有办法通过嵌入式 Glassfish 服务器实现相同的目标?
在我的Hudson日志中,我看到错误或失败,但哈德森说,构建是成功的.这样对吗?
这就是哈德森所做的(运行几次)
call f:\runGenericAntBuild.bat %WORKSPACE% f:\general-build.properties %WORKSPACE%\build\buildProjects.xml deploy %BUILD_NUMBER% %SVN_REVISION%
call f:\runGenericAntBuild.bat %WORKSPACE% f:\general-build.properties %WORKSPACE%\build\buildProjects.xml MyJavaProject %BUILD_NUMBER% %SVN_REVISION%
call f:\runGenericAntBuild.bat %WORKSPACE% f:\general-build.properties %WORKSPACE%\build\buildProjects.xml buildGrails %BUILD_NUMBER% %SVN_REVISION%
call f:\runGrailsClean.bat %WORKSPACE%\MyProject
Run Code Online (Sandbox Code Playgroud)
谢谢!
在这段代码中,我想访问{IS-VAR}哈希数组中每个元素的键值@Cleared.当它进入内部时,循环$_被设置为值$_->{'NAME'}.
if (grep {$_->{'NAME'} eq $entity_name} @Cleared)
{
**$is_var = $_->{'IS-VAR'};**
$var_flag = 1 if ($is_var =~ /^TRUE$/i);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法访问$_->{'IS-VAR'}循环内部的值,$_作为@Cleared此上下文中的元素?
结构@Cleared如下:
@Cleared = [NAME => 'xxx',
TYPE => 'yyy',
IS-VAR => 'TRUE'];
Run Code Online (Sandbox Code Playgroud) 为什么我们在Perl中使用函数原型?有哪些不同的原型?怎么用?
例子:$$,$@,\@@他们是什么意思?
我们目前正在使用Hibernate 3,我们使用Hibernate Tools为数据库模式生成SQL脚本.
我们使用以下Ant任务
<hibernatetool destdir="${target}">
<jpaconfiguration persistenceunit="@{persistenceUnit}" propertyfile="@{propertyfile}"/>
<classpath refid="@{classpathid}"/>
<!-- the file name is relative to $destdir -->
<hbm2ddl outputfilename="@{output}" format="true" export="false" drop="false"/>
</hibernatetool>
Run Code Online (Sandbox Code Playgroud)
我们想切换到Hibernate 4:如何在没有Hibernate工具的情况下实现类似的东西?