小编iva*_*590的帖子

XSD 中的无序元素具有强制性和无界元素?

我的 XSD 中有以下元素:

<xs:element name="documents" minOccurs="1" maxOccurs="1">
    <xs:complexType>
        <xs:sequence>

            <xs:element name="invoice" minOccurs="1" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element name="report" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

            <xs:element name="additional" minOccurs="0" maxOccurs="unbounded">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:minLength value="1"/>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

        </xs:sequence>
    </xs:complexType>
</xs:element>
Run Code Online (Sandbox Code Playgroud)

您可以看到文档必须始终具有发票,并且可以选择具有单个报告和零个或多个附加项。

问题是这些元素可以有不同的出现顺序,所以我不能再使用 asequence了。我尝试使用,all但问题是附加元素,因为它有maxOccurs="unbounded".

我怎样才能有一个无序列表的元素,其中一个元素总是需要的,而另一个元素的出现次数不受限制?

xml xsd

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

JPA:所有实体都有一个DAO,每个实体有一个DAO?

首先,抱歉我的英语.

我为朋友制作了一个访问SQLite数据库的JPA(EclipseLink)桌面应用程序.

我已经在Eclipse中创建了数据库和实体.但我还创建了一个名为class的类UniversalDAO,它是所有实体用来访问和持久化数据库的实用程序类:

package model.DAO;

import java.util.ArrayList;

import javax.persistence.*;

import model.entities.Entities;


public class UniversalDAO {


    private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("TheDatabase");
    private static EntityManager em = emf.createEntityManager();

    private UniversalDAO (){}


    public static void close(){
        em.close();
        emf.close();
    }

    public static Entities getOne(Class<? extends Entities> table, Object primaryKey) {

        return em.find(table, primaryKey);
    }

    public static ArrayList<Entities> getAll(Class<? extends Entities> table) {

        ArrayList<Entities> ret = new ArrayList<>();

        for(Object obj : em.createQuery("SELECT o FROM " + table.getName() + " o").getResultList())
            ret.add((Entities) obj); …
Run Code Online (Sandbox Code Playgroud)

java entity dao jpa eclipselink

3
推荐指数
1
解决办法
2872
查看次数

标签 统计

dao ×1

eclipselink ×1

entity ×1

java ×1

jpa ×1

xml ×1

xsd ×1