Могу ли я использовать аннотированные классы JPA для генерации строк Json с помощью API Google Gson? - PullRequest
2 голосов
/ 30 ноября 2011

У меня есть несколько служб REST, которые будут использоваться в качестве точки интеграции с приложениями для сотовых телефонов, и для передачи данных между приложением Android / Iphone на мой сервер я использую Json.

На стороне сервера я использую REST Easy + Seam 2.2.2 для создания этих служб REST и API Google Gson для создания Json.

Когда я хочу передать данные из модели, где у меня есть аннотированные классы JPA, мне было интересно, смогу ли я использовать эти классы для интеграции API Gson, а затем сгенерировать файл .jar из этих классов для использования в приложении Android, так же как и ява.

Есть ли вред, если я использую Google Gson API в классах JPA, а затем в моих остальных интерфейсах, а также в приложении Android?

1 Ответ

0 голосов
/ 04 января 2013

Да, вы можете, я работал с этим же случаем, но обнаружил, что GSon добавляет все эти данные в мою строку JSON:

**(MY ATTRIBUTES)** ... "c":{"random":{"provider":{"Alg.Alias.Signature.SHA1/DSA":"SHA1withDSA","Alg.Alias.Signature.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.Signature.DSS":"SHA1withDSA","SecureRandom.SHA1PRNG ImplementedIn":"Software","KeyStore.JKS":"sun.security.provider.JavaKeyStore$JKS","Alg.Alias.MessageDigest.SHA-1":"SHA","MessageDigest.SHA":"sun.security.provider.SHA","KeyStore.CaseExactJKS":"sun.security.provider.JavaKeyStore$CaseExactJKS","CertStore.com.sun.security.IndexedCollection ImplementedIn":"Software","Alg.Alias.Signature.DSA":"SHA1withDSA","KeyFactory.DSA ImplementedIn":"Software","KeyStore.JKS ImplementedIn":"Software","AlgorithmParameters.DSA ImplementedIn":"Software","Signature.NONEwithDSA":"sun.security.provider.DSA$RawDSA","Alg.Alias.CertificateFactory.X509":"X.509","CertStore.com.sun.security.IndexedCollection":"sun.security.provider.certpath.IndexedCollectionCertStore","Provider.id className":"sun.security.provider.Sun","Alg.Alias.Signature.SHA-1/DSA":"SHA1withDSA","CertificateFactory.X.509 ImplementedIn":"Software","Signature.SHA1withDSA KeySize":"1024","KeyFactory.DSA":"sun.security.provider.DSAKeyFactory","CertPathValidator.PKIX ImplementedIn":"Software","Configuration.JavaLoginConfig":"sun.security.provider.ConfigSpiFile","Alg.Alias.Signature.OID.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.KeyFactory.1.2.840.10040.4.1":"DSA","MessageDigest.MD5 ImplementedIn":"Software","Alg.Alias.Signature.RawDSA":"NONEwithDSA","Provider.id name":"SUN","Alg.Alias.AlgorithmParameters.1.2.840.10040.4.1":"DSA","CertPathBuilder.PKIX ValidationAlgorithm":"RFC3280","Policy.JavaPolicy":"sun.security.provider.PolicySpiFile","Alg.Alias.AlgorithmParameters.1.3.14.3.2.12":"DSA","Alg.Alias.Signature.SHA/DSA":"SHA1withDSA","Alg.Alias.KeyPairGenerator.1.3.14.3.2.12":"DSA","MessageDigest.SHA-384":"sun.security.provider.SHA5$SHA384","Signature.SHA1withDSA ImplementedIn":"Software","AlgorithmParameterGenerator.DSA":"sun.security.provider.DSAParameterGenerator","Signature.NONEwithDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","MessageDigest.SHA-512":"sun.security.provider.SHA5$SHA512","CertPathBuilder.PKIX":"sun.security.provider.certpath.SunCertPathBuilder","Alg.Alias.Signature.1.3.14.3.2.27":"SHA1withDSA","CertPathBuilder.PKIX ImplementedIn":"Software","Provider.id version":"1.6","AlgorithmParameters.DSA":"sun.security.provider.DSAParameters","Signature.SHA1withDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","CertStore.Collection":"sun.security.provider.certpath.CollectionCertStore","AlgorithmParameterGenerator.DSA ImplementedIn":"Software","KeyPairGenerator.DSA KeySize":"1024","CertStore.LDAP":"sun.security.provider.certpath.LDAPCertStore","CertificateFactory.X.509":"sun.security.provider.X509Factory","CertStore.LDAP LDAPSchema":"RFC2587","CertStore.LDAP ImplementedIn":"Software","KeyPairGenerator.DSA ImplementedIn":"Software","CertPathValidator.PKIX ValidationAlgorithm":"RFC3280","CertStore.Collection ImplementedIn":"Software","Alg.Alias.Signature.1.3.14.3.2.13":"SHA1withDSA","CertPathValidator.PKIX":"sun.security.provider.certpath.PKIXCertPathValidator","Alg.Alias.MessageDigest.SHA1":"SHA","AlgorithmParameterGenerator.DSA KeySize":"1024","SecureRandom.SHA1PRNG":"sun.security.provider.SecureRandom","Signature.SHA1withDSA":"sun.security.provider.DSA$SHA1withDSA","Alg.Alias.KeyFactory.1.3.14.3.2.12":"DSA","KeyPairGenerator.DSA":"sun.security.provider.DSAKeyPairGenerator","MessageDigest.SHA ImplementedIn":"Software","Provider.id info":"SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)","Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1":"DSA","Alg.Alias.Signature.SHAwithDSA":"SHA1withDSA","MessageDigest.MD5":"sun.security.provider.MD5","Alg.Alias.Signature.DSAWithSHA1":"SHA1withDSA","MessageDigest.SHA-256":"sun.security.provider.SHA2","Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1":"DSA","MessageDigest.MD2":"sun.security.provider.MD2"},"secureRandomSpi":{"state":[36,-71,87,56,98,-23,-98,48,69,29,-122,2,-25,-32,-38,59,-104,125,7,9],"remainder":[0,0,0,0,0,-103,127,11,-7,-74,-90,-33,107,113,-44,87,127,-100,-124,-47],"remCount":5},"algorithm":"SHA1PRNG","randomBytesUsed":0,"counter":0,"seed":{"value":0},"nextNextGaussian":0.0,"haveNextNextGaussian":false}},"code":"dfdfsdfas"},{"eventId":2,"description":"Descriptionnnnn","title":"Titleeee","fechaInicio":"54646","fechaFin":"654654","fechaPublicacion":"654646","lugar":"dsafsdf","categoria":"fsadfsafsaf","c":{"random":{"provider":{"Alg.Alias.Signature.SHA1/DSA":"SHA1withDSA","Alg.Alias.Signature.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.Signature.DSS":"SHA1withDSA","SecureRandom.SHA1PRNG ImplementedIn":"Software","KeyStore.JKS":"sun.security.provider.JavaKeyStore$JKS","Alg.Alias.MessageDigest.SHA-1":"SHA","MessageDigest.SHA":"sun.security.provider.SHA","KeyStore.CaseExactJKS":"sun.security.provider.JavaKeyStore$CaseExactJKS","CertStore.com.sun.security.IndexedCollection ImplementedIn":"Software","Alg.Alias.Signature.DSA":"SHA1withDSA","KeyFactory.DSA ImplementedIn":"Software","KeyStore.JKS ImplementedIn":"Software","AlgorithmParameters.DSA ImplementedIn":"Software","Signature.NONEwithDSA":"sun.security.provider.DSA$RawDSA","Alg.Alias.CertificateFactory.X509":"X.509","CertStore.com.sun.security.IndexedCollection":"sun.security.provider.certpath.IndexedCollectionCertStore","Provider.id className":"sun.security.provider.Sun","Alg.Alias.Signature.SHA-1/DSA":"SHA1withDSA","CertificateFactory.X.509 ImplementedIn":"Software","Signature.SHA1withDSA KeySize":"1024","KeyFactory.DSA":"sun.security.provider.DSAKeyFactory","CertPathValidator.PKIX ImplementedIn":"Software","Configuration.JavaLoginConfig":"sun.security.provider.ConfigSpiFile","Alg.Alias.Signature.OID.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.KeyFactory.1.2.840.10040.4.1":"DSA","MessageDigest.MD5 ImplementedIn":"Software","Alg.Alias.Signature.RawDSA":"NONEwithDSA","Provider.id name":"SUN","Alg.Alias.AlgorithmParameters.1.2.840.10040.4.1":"DSA","CertPathBuilder.PKIX ValidationAlgorithm":"RFC3280","Policy.JavaPolicy":"sun.security.provider.PolicySpiFile","Alg.Alias.AlgorithmParameters.1.3.14.3.2.12":"DSA","Alg.Alias.Signature.SHA/DSA":"SHA1withDSA","Alg.Alias.KeyPairGenerator.1.3.14.3.2.12":"DSA","MessageDigest.SHA-384":"sun.security.provider.SHA5$SHA384","Signature.SHA1withDSA ImplementedIn":"Software","AlgorithmParameterGenerator.DSA":"sun.security.provider.DSAParameterGenerator","Signature.NONEwithDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","MessageDigest.SHA-512":"sun.security.provider.SHA5$SHA512","CertPathBuilder.PKIX":"sun.security.provider.certpath.SunCertPathBuilder","Alg.Alias.Signature.1.3.14.3.2.27":"SHA1withDSA","CertPathBuilder.PKIX ImplementedIn":"Software","Provider.id version":"1.6","AlgorithmParameters.DSA":"sun.security.provider.DSAParameters","Signature.SHA1withDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","CertStore.Collection":"sun.security.provider.certpath.CollectionCertStore","AlgorithmParameterGenerator.DSA ImplementedIn":"Software","KeyPairGenerator.DSA KeySize":"1024","CertStore.LDAP":"sun.security.provider.certpath.LDAPCertStore","CertificateFactory.X.509":"sun.security.provider.X509Factory","CertStore.LDAP LDAPSchema":"RFC2587","CertStore.LDAP ImplementedIn":"Software","KeyPairGenerator.DSA ImplementedIn":"Software","CertPathValidator.PKIX ValidationAlgorithm":"RFC3280","CertStore.Collection ImplementedIn":"Software","Alg.Alias.Signature.1.3.14.3.2.13":"SHA1withDSA","CertPathValidator.PKIX":"sun.security.provider.certpath.PKIXCertPathValidator","Alg.Alias.MessageDigest.SHA1":"SHA","AlgorithmParameterGenerator.DSA KeySize":"1024","SecureRandom.SHA1PRNG":"sun.security.provider.SecureRandom","Signature.SHA1withDSA":"sun.security.provider.DSA$SHA1withDSA","Alg.Alias.KeyFactory.1.3.14.3.2.12":"DSA","KeyPairGenerator.DSA":"sun.security.provider.DSAKeyPairGenerator","MessageDigest.SHA ImplementedIn":"Software","Provider.id info":"SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)","Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1":"DSA","Alg.Alias.Signature.SHAwithDSA":"SHA1withDSA","MessageDigest.MD5":"sun.security.provider.MD5","Alg.Alias.Signature.DSAWithSHA1":"SHA1withDSA","MessageDigest.SHA-256":"sun.security.provider.SHA2","Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1":"DSA","MessageDigest.MD2":"sun.security.provider.MD2"},"secureRandomSpi":{"state":[31,1,7,59,-59,-112,-109,-100,-19,-34,-64,113,-115,119,22,-101,88,4,3,95],"remainder":[0,0,0,0,0,-84,-54,47,-92,31,73,-111,11,-60,100,83,-11,-21,23,-92],"remCount":5},"algorithm":"SHA1PRNG","randomBytesUsed":0,"counter":0,"seed":{"value":0},"nextNextGaussian":0.0,"haveNextNextGaussian":false}},"code":"fdasfsadfsaf"},{"eventId":3,"description":" fafsafdfa","title":"Siii","fechaInicio":"Nooo","fechaFin":"forever","fechaPublicacion":"546456464","lugar":"sdfsafd","categoria":"Beber y comer","c":{"random":{"provider":{"Alg.Alias.Signature.SHA1/DSA":"SHA1withDSA","Alg.Alias.Signature.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.Signature.DSS":"SHA1withDSA","SecureRandom.SHA1PRNG ImplementedIn":"Software","KeyStore.JKS":"sun.security.provider.JavaKeyStore$JKS","Alg.Alias.MessageDigest.SHA-1":"SHA","MessageDigest.SHA":"sun.security.provider.SHA","KeyStore.CaseExactJKS":"sun.security.provider.JavaKeyStore$CaseExactJKS","CertStore.com.sun.security.IndexedCollection ImplementedIn":"Software","Alg.Alias.Signature.DSA":"SHA1withDSA","KeyFactory.DSA ImplementedIn":"Software","KeyStore.JKS ImplementedIn":"Software","AlgorithmParameters.DSA ImplementedIn":"Software","Signature.NONEwithDSA":"sun.security.provider.DSA$RawDSA","Alg.Alias.CertificateFactory.X509":"X.509","CertStore.com.sun.security.IndexedCollection":"sun.security.provider.certpath.IndexedCollectionCertStore","Provider.id className":"sun.security.provider.Sun","Alg.Alias.Signature.SHA-1/DSA":"SHA1withDSA","CertificateFactory.X.509 ImplementedIn":"Software","Signature.SHA1withDSA KeySize":"1024","KeyFactory.DSA":"sun.security.provider.DSAKeyFactory","CertPathValidator.PKIX ImplementedIn":"Software","Configuration.JavaLoginConfig":"sun.security.provider.ConfigSpiFile","Alg.Alias.Signature.OID.1.2.840.10040.4.3":"SHA1withDSA","Alg.Alias.KeyFactory.1.2.840.10040.4.1":"DSA","MessageDigest.MD5 ImplementedIn":"Software","Alg.Alias.Signature.RawDSA":"NONEwithDSA","Provider.id name":"SUN","Alg.Alias.AlgorithmParameters.1.2.840.10040.4.1":"DSA","CertPathBuilder.PKIX ValidationAlgorithm":"RFC3280","Policy.JavaPolicy":"sun.security.provider.PolicySpiFile","Alg.Alias.AlgorithmParameters.1.3.14.3.2.12":"DSA","Alg.Alias.Signature.SHA/DSA":"SHA1withDSA","Alg.Alias.KeyPairGenerator.1.3.14.3.2.12":"DSA","MessageDigest.SHA-384":"sun.security.provider.SHA5$SHA384","Signature.SHA1withDSA ImplementedIn":"Software","AlgorithmParameterGenerator.DSA":"sun.security.provider.DSAParameterGenerator","Signature.NONEwithDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","MessageDigest.SHA-512":"sun.security.provider.SHA5$SHA512","CertPathBuilder.PKIX":"sun.security.provider.certpath.SunCertPathBuilder","Alg.Alias.Signature.1.3.14.3.2.27":"SHA1withDSA","CertPathBuilder.PKIX ImplementedIn":"Software","Provider.id version":"1.6","AlgorithmParameters.DSA":"sun.security.provider.DSAParameters","Signature.SHA1withDSA SupportedKeyClasses":"java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey","CertStore.Collection":"sun.security.provider.certpath.CollectionCertStore","AlgorithmParameterGenerator.DSA ImplementedIn":"Software","KeyPairGenerator.DSA KeySize":"1024","CertStore.LDAP":"sun.security.provider.certpath.LDAPCertStore","CertificateFactory.X.509":"sun.security.provider.X509Factory","CertStore.LDAP LDAPSchema":"RFC2587","CertStore.LDAP ImplementedIn":"Software","KeyPairGenerator.DSA ImplementedIn":"Software","CertPathValidator.PKIX ValidationAlgorithm":"RFC3280","CertStore.Collection ImplementedIn":"Software","Alg.Alias.Signature.1.3.14.3.2.13":"SHA1withDSA","CertPathValidator.PKIX":"sun.security.provider.certpath.PKIXCertPathValidator","Alg.Alias.MessageDigest.SHA1":"SHA","AlgorithmParameterGenerator.DSA KeySize":"1024","SecureRandom.SHA1PRNG":"sun.security.provider.SecureRandom","Signature.SHA1withDSA":"sun.security.provider.DSA$SHA1withDSA","Alg.Alias.KeyFactory.1.3.14.3.2.12":"DSA","KeyPairGenerator.DSA":"sun.security.provider.DSAKeyPairGenerator","MessageDigest.SHA ImplementedIn":"Software","Provider.id info":"SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)","Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1":"DSA","Alg.Alias.Signature.SHAwithDSA":"SHA1withDSA","MessageDigest.MD5":"sun.security.provider.MD5","Alg.Alias.Signature.DSAWithSHA1":"SHA1withDSA","MessageDigest.SHA-256":"sun.security.provider.SHA2","Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1":"DSA","MessageDigest.MD2":"sun.security.provider.MD2"},"secureRandomSpi":{"state":[-38,9,-12,91,72,30,62,32,-75,-82,68,87,122,118,74,119,-89,-59,96,-114],"remainder":[0,0,0,0,0,20,-68,-119,9,-118,-95,100,-76,-24,-90,-3,57,-35,-68,9],"remCount":5},"algorithm":"SHA1PRNG","randomBytesUsed":0,"counter":0,"seed":{"value":0},"nextNextGaussian":0.0,"haveNextNextGaussian":false}},"code":"2gg6fb3d"}]

Если вы реализуете класс-оболочку для сериализации вашего DAO в POJO, вы найдете только те атрибуты, которые вы получите из базы данных.

...