有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java配置hyperjaxb以创建hibernate映射和mysql数据库

我正在使用hyperjaxb从xsd文件生成Java类。我如何配置它来生成hibernate注释,并触发hbm2ddl来创建一个MySQL数据库,其中包含生成的类的表

我下载了hibernate from this link的采购订单示例,然后导航到cmd.exe中的目标目录并运行mvn clean install,但生成的文件夹不包含任何java类,也不包含任何hibernate/MySQL。我想得到一个工作示例,从下载的xsd文件创建所有内容,这样我就可以将自己的xsd文件插入代码,并自动生成所有java/hibernate/mysql。这样我就可以花时间调整我的xsd文件,从而得到我所需要的java/hibernate/MySQL

一个代码示例或一步一步的说明会非常有用。我正在使用eclipse


**编辑:**

这个问题的答案是在发布了其他几个问题后得出的。为了找到这个问题的完整答案,你需要复习其他问题的答案,尤其是the one at this link


共 (1) 个答案

  1. # 1 楼答案

    更新

    最后,OP似乎是在项目的根目录中查找生成的类,而不是target\generated-source\xjc,尽管tutorial清楚地说明了在哪里查找:

    If you browse the target/generated-sources/xjc directory, you'll find few generated java files, for instance PurchaseOrderType.java.


    我不明白你说什么都没有产生。我刚检查过,一切正常

    我的步骤是:

    • 下载hyperjaxb3-ejb-samples-po-initial-0.5.6-maven-src。拉链
    • 解开拉链
    • 转到hyperjaxb3-ejb-samples-po-initial-0.5.6
    • mvn清洁安装

    以下是我得到的:

    [INFO]                                     
    [INFO] Building Hyperjaxb3 Samples [po-initial:maven] 0.5.6
    [INFO]                                     
    [INFO] 
    [INFO]  - maven-clean-plugin:2.5:clean (default-clean) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [INFO] Deleting C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target
    [INFO] 
    [INFO]  - maven-hyperjaxb3-plugin:0.6.0:generate (default) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [INFO] Sources are not up-to-date; XJC execution will be executed.
    [WARNING] According to the Java Persistence API specification, section 2.1, entities must be top-level classes:
    "The entity class must be a top-level class."
    Your JAXB model is not customized as with top-level local scoping, please use the <jaxb:globalBinding localScoping="toplevel"/> global bindings customization.
            org.jvnet.hyperjaxb3.ejb.plugin.EjbPlugin
    
    [WARNING] According to the Java Persistence API specification, section 2.1, entities must implement the serializable interface:
    "If an entity instance is to be passed by value as a detached object
    (e.g., through a remote interface), the entity class must implement
     the Serializable interface."
    Your JAXB model is not customized as serializable, please use the <jaxb:serializable/> global bindings customization element to make your model serializable.
            org.jvnet.hyperjaxb3.ejb.plugin.EjbPlugin
    
    [INFO] 
    [INFO]  - maven-resources-plugin:2.6:resources (default-resources) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 1 resource
    [INFO] Copying 0 resource
    [INFO] Copying 1 resource
    [INFO] 
    [INFO]  - maven-compiler-plugin:2.5.1:compile (default-compile) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
    [INFO] Compiling 5 source files to C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target\classes
    [INFO] 
    [INFO]  - maven-resources-plugin:2.6:testResources (default-testResources) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
    [INFO] Copying 2 resources
    [INFO] 
    [INFO]  - maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent!
    [INFO] Compiling 5 source files to C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target\test-classes
    [INFO] 
    [INFO]  - maven-surefire-plugin:2.12.4:test (default-test) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [INFO] Surefire report directory: C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target\surefire-reports
    
                               -
     T E S T S
                               -
    Running RoundtripTest
    Detected [file:/C:/Projects/workspaces/hj3/dist/hyperjaxb3-ejb-samples-po-initial-0.5.6/target/classes/META-INF/persistence.xml].
        RoundtripTest
    
    Loading entity manager factory properties.
        RoundtripTest
    
    Loading entity manager factory properties from [file:/C:/Projects/workspaces/hj3/dist/hyperjaxb3-ejb-samples-po-initial-0.5.6/target/test-classes/persistence.properties].
        RoundtripTest
    
    Testing samples.
        RoundtripTest
    
    Sample directory [C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\src\test\samples].
        RoundtripTest
    
    Testing sample [po.xml].
        RoundtripTest
    
    Unmarshalling.
        RoundtripTest
    
    Opening session.
        RoundtripTest
    
    Saving the object.
        RoundtripTest
    
    Opening session.
        RoundtripTest
    
    Loading the object.
        RoundtripTest
    
    Closing the session.
        RoundtripTest
    
    Initial object:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <purchaseOrder orderDate="1999-10-20">
        <shipTo country="US">
            <name>Alice Smith</name>
            <street>123 Maple Street</street>
            <city>Mill Valley</city>
            <state>CA</state>
            <zip>90952</zip>
        </shipTo>
        <billTo country="US">
            <name>Robert Smith</name>
            <street>8 Oak Avenue</street>
            <city>Old Town</city>
            <state>PA</state>
            <zip>95819</zip>
        </billTo>
        <comment>Hurry, my lawn is going wild!</comment>
        <items>
            <item partNum="872-AA">
                <productName>Lawnmower</productName>
                <quantity>1</quantity>
                <USPrice>148.95</USPrice>
                <comment>Confirm this is electric</comment>
            </item>
            <item partNum="926-AA">
                <productName>Baby Monitor</productName>
                <quantity>1</quantity>
                <USPrice>39.98</USPrice>
                <shipDate>1999-05-21</shipDate>
            </item>
        </items>
    </purchaseOrder>
    
        RoundtripTest
    
    Source object:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <purchaseOrder orderDate="1999-10-20" Hjid="1">
        <shipTo country="US" Hjid="2">
            <name>Alice Smith</name>
            <street>123 Maple Street</street>
            <city>Mill Valley</city>
            <state>CA</state>
            <zip>90952</zip>
        </shipTo>
        <billTo country="US" Hjid="1">
            <name>Robert Smith</name>
            <street>8 Oak Avenue</street>
            <city>Old Town</city>
            <state>PA</state>
            <zip>95819</zip>
        </billTo>
        <comment>Hurry, my lawn is going wild!</comment>
        <items Hjid="1">
            <item partNum="872-AA" Hjid="1">
                <productName>Lawnmower</productName>
                <quantity>1</quantity>
                <USPrice>148.95</USPrice>
                <comment>Confirm this is electric</comment>
            </item>
            <item partNum="926-AA" Hjid="2">
                <productName>Baby Monitor</productName>
                <quantity>1</quantity>
                <USPrice>39.98</USPrice>
                <shipDate>1999-05-21</shipDate>
            </item>
        </items>
    </purchaseOrder>
    
        RoundtripTest
    
    Result object:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <purchaseOrder orderDate="1999-10-20" Hjid="1">
        <shipTo country="US" Hjid="2">
            <name>Alice Smith</name>
            <street>123 Maple Street</street>
            <city>Mill Valley</city>
            <state>CA</state>
            <zip>90952</zip>
        </shipTo>
        <billTo country="US" Hjid="1">
            <name>Robert Smith</name>
            <street>8 Oak Avenue</street>
            <city>Old Town</city>
            <state>PA</state>
            <zip>95819</zip>
        </billTo>
        <comment>Hurry, my lawn is going wild!</comment>
        <items Hjid="1">
            <item partNum="872-AA" Hjid="1">
                <productName>Lawnmower</productName>
                <quantity>1</quantity>
                <USPrice>148.95</USPrice>
                <comment>Confirm this is electric</comment>
            </item>
            <item partNum="926-AA" Hjid="2">
                <productName>Baby Monitor</productName>
                <quantity>1</quantity>
                <USPrice>39.98</USPrice>
                <shipDate>1999-05-21</shipDate>
            </item>
        </items>
    </purchaseOrder>
    
        RoundtripTest
    
    Checking the document identity.
        RoundtripTest
    
    Finished testing sample [po.xml].
        RoundtripTest
    
    Finished testing samples.
        RoundtripTest
    
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.552 sec
    
    Results :
    
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
    
    [INFO] 
    [INFO]  - maven-jar-plugin:2.4:jar (default-jar) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [INFO] Building jar: C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target\hyperjaxb3-ejb-samples-po-initial-maven-0.5.6.jar
    [INFO] 
    [INFO]  - maven-install-plugin:2.4:install (default-install) @ hyperjaxb3-ejb-samples-po-initial-maven  -
    [INFO] Installing C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\target\hyperjaxb3-ejb-samples-po-initial-maven-0.5.6.jar to C:\Repository\org\jvnet\hyperjaxb3\hyperjaxb3-ejb-samples-po-initial-maven\0.5.6\hyperjaxb3-ejb-samples-po-initial-maven-0.5.6.jar
    [INFO] Installing C:\Projects\workspaces\hj3\dist\hyperjaxb3-ejb-samples-po-initial-0.5.6\pom.xml to C:\Repository\org\jvnet\hyperjaxb3\hyperjaxb3-ejb-samples-po-initial-maven\0.5.6\hyperjaxb3-ejb-samples-po-initial-maven-0.5.6.pom
    [INFO]                                     
    [INFO] BUILD SUCCESS
    [INFO]                                     
    [INFO] Total time: 12.100 s
    [INFO] Finished at: 2014-10-09T00:42:10+01:00
    [INFO] Final Memory: 22M/96M
    [INFO]                                     
    

    完整的mvn清理安装-X日志为here

    所以我希望你看到,它工作得很好。请发mvn clean install -X,也许你做错了什么

    现在,关于你的问题,这里是MySQL的例子:

    https://github.com/highsource/hyperjaxb3/tree/master/ejb/tests/po-mysql

    该项目包括hbm2ddl生成的一个片段:

    https://github.com/highsource/hyperjaxb3/tree/master/ejb/tests/issues

    hbm2ddl由于某种原因被注释掉,不确定它是否有效,但它应该给出方向