Dto object mapping tool ?
Hellu,
I am looking for an open source object mapping tool like Dozer. (mapping one object to another existing object, so not dynamically like DynaDto does).
If anyone has a good advice, please let me know ?
I am not so crazy about Dozer, I use it but it has some strange behavior...
So I am looking for an alternative, but can't really find a good one :(...
thanx
Here's some free packages.
We're using Castor, there are few tools and the docs are not that good.
http://castor.exolab.org/
I'm researching this package at present, can't say much about it except that it appears to be as good as (and maybe better than) Castor.
http://jakarta.apache.org/ojb/index.html
Dave
Similar Messages
-
NetWeaver Object/Relational Mapping tool
I've read the nice article <i>Using Hibernate on SAP WAS</i> by Peter Mayringer:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/2ae0614a-0601-0010-a491-a9a635f06613
Just a curiosity: Is there a SAP's proprietary NetWeaver Object/Relational Mapping tool, similar to the Hibernate open source project?
DavideHi Davide,
SAP doesn't have proprietary O/R tool but it supports JDO 1.0 standard and Entity Beans as part of J2EE 1.3.
Regards,
Avi -
Which object-relational mapping tool is the best for Oracle Coherence?
Which object-relational mapping tool is the best for Oracle Coherence?
My application is read-and-write-intensive. Which tool is most suitable for this application?
TopLink essentials, TopLink, Eclipse or Hibernate?
Thank youI would pick Hibernate mainly because of its popularity and wide knowledge base.
Coherence has provided some documentation for the integration.
http://download.oracle.com/docs/cd/E14526_01/coh.350/e14537/usehibernateascoh.htm#CEGFEFJH
If you have the schema in database, myEclipse can provide you hibernate bindings by reverse engineering. -
Enhydra DODS - Open Source Object/Relational Mapping Tool from Enhydra
Hi all,
I just want to inform you that the final version 5.1 of DODS is released.
Data Object Design Studio is an open source Object/Relational mapping tool.
Based on XML data model descriptions (DOML files) SQL DDL, sophisticated Java O/R code and documentation (HTML, pdf, XMI) is generated automatically using a generator GUI, by Ant tasks or from within your IDE of choice (using Kelp).
The generated Java code provides a lot of possibilities for runtime optimization (DO LRU caching, Query LRU caching, cache initialization, lazyloading,...).
DODS can be used with or without the Enhydra application server.
DODS Development Team
Home page http://dods.enhydra.org
Objectweb project http://forge.objectweb.org/projects/dods
Download page http://forge.objectweb.org/project/showfiles.php?group_id=61Hi Davide,
SAP doesn't have proprietary O/R tool but it supports JDO 1.0 standard and Entity Beans as part of J2EE 1.3.
Regards,
Avi -
Mapping tool creates new columns one at a time
Hi All,
I'm using Kodo 3.2.2 with MySql 4.1. I have a fairly large table (over
2million rows) representing one persistent class. I need to add several
new fields to the object, which will require a refresh mapping on the
database to add new columns for the fields.
It seems when I run refresh mapping on the database, Kodo is adding each
new field individually in seperate ALTER TABLE statements, rather than
adding all the columns in one ALTER TABLE statement.
With MySQL and large tables, this can really increase the time required to
refresh the mapping - I've tried with MSSQL and that database must handle
ALTER TABLE commands differently because it doesn't take a fraction of the
time that MySQL takes.
Is this a bug (I doubt it), but rather a feature improvement?
Thoughts?
Thanks,
BrendanThanks Abe for the reply - I've been meaning to look at the process of
creating SQL scripts to perform the refresh mappings on our databases.
I'll have a look at this process before we talk contracting!
Thanks,
Brendan
Abe White wrote:
Unfortunately, we don't have any immediate plans to optimize ALTER TABLEsince
it's not a runtime operation, and as you say most DBs don't have a problemwith
it. Also, note that the documentation shows how to get Kodo to create SQL
scripts rather than directly modify the DB; you could easily edit thescripts
Kodo generates to make them more efficient before piping the SQL to MySQLusing
its client app. (Note that Kodo 3.3 introduces the ability to generate SQL
scripts directly from the mapping tool, rather than having to take an extrastep
through the schema tool).
If getting Kodo to combine ALTER statements is important to you, you couldalso
contact [email protected] about contracting us to expedite this work. -
Mapping tool: mapping child nodes (level2 hierarchy) to bapi wrapper fields
Hi,
I'm new to MI7.1. I'll try the demo on help.sap.com. I have following data object EQUIPMENT with node structure in DOE:
ROOTNODE (attr: EQUIPMENT_ID/ SERIAL_NO)
child node level 1 DETAILS (attr: SERIAL_NO/TYPE/BRAND/INSTRUCTIONS)
child node level 2 LOCATION (attr: SERIAL_NO/ADDRESS_LINE1/
ADDRESS_LINE2/ZIP_CODE/...)
In backend my bapi wrapper is build using structures:
TOP: ZSEQUIPMENT (attr: EQUIPMENT_ID/SERIAL_NO)
010: ZSEQUIPMENT_DET(attr: SERIAL_NO/TYPE/BRAND/INSTRUCTIONS)
020: ZSLOCATION(attr: SERIAL_NO/ADDRESS_LINE1/...)
When i want to use mapping tool in middleware for the backend adapter, after mapping the fields, during activation i get the error:
Referential integrity between node DETAILS and it's parent is not complete.
Referential integrity between node LOCATION and it's parent is not complete.
What does that mean? How can I solve this?
thanks
PeterSolved it myself with explicit key mapping. thanks anyway
-
Problems with Mapping Tool in Tutorial
Hello,
I am having problems with section 2.3 in the tutorial, even with the
completed solutions of the tutorial. In particular, I cannot add Rabbit
and Snake to the petshop. I get the following errors:
C:\Apps\kodo-jdo-3.1.2\tutorial\solutions>javac *.java
C:\Apps\kodo-jdo-3.1.2\tutorial\solutions>jdoc package.jdo
578 INFO [main] kodo.Tool - JDO enhancer running on type "class
tutorial.Animal".
907 INFO [main] kodo.Tool - The class is already persistence capable -
no enhancement performed.
907 INFO [main] kodo.Tool - JDO enhancer running on type "class
tutorial.Dog".
907 INFO [main] kodo.Tool - The class is already persistence capable -
no enhancement performed.
907 INFO [main] kodo.Tool - JDO enhancer running on type "class
tutorial.Rabbit".
985 WARN [main] kodo.Enhance - Type "class tutorial.Rabbit" has no
metadata; enhancing as persistence aware. If you intended for "class
tutorial.Rabbit" to be persistence-capable, then this means that Kodo
could not find any JDO metadata for "class tutorial.Rabbit". This can
happen if the directory containing your metadata is not in your CLASSPATH,
or if your JDO metadata files are not named in accordance with the JDO
specification. See the Metadata Placement section of the Java Data Objects
documentation distributed with Kodo JDO for more information.
985 INFO [main] kodo.Tool - The class does not have JDO metadata -
enhanced as persistence-aware.
1063 INFO [main] kodo.Tool - JDO enhancer running on type "class
tutorial.Snake".
1094 WARN [main] kodo.Enhance - Type "class tutorial.Snake" has no
metadata; enhancing as persistence aware. If you intended for "class
tutorial.Snake" to be persistence-capable, then this means that Kodo could
not find any JDO metadata for "class tutorial.Snake". This can happen if
the directory containing your metadata is not in your CLASSPATH, or if
your JDO metadata files are not named in accordance with the JDO
specification. See the Metadata Placement section of the Java Data Objects
do
cumentation distributed with Kodo JDO for more information.
1094 INFO [main] kodo.Tool - The class does not have JDO metadata -
enhanced as persistence-aware.
C:\Apps\kodo-jdo-3.1.2\tutorial\solutions>mappingtool -action refresh
package.jdo
3812 INFO [main] kodo.Tool - Mapping tool running on type "class
tutorial.Animal" with action "refresh".
4047 WARN [main] kodo.MetaData - There has been a change to the
definition of "tutorial.Animal" or its schema since it was last mapped, or
the mapping you defined is invalid: "The table "ANIMAL" specified in the
mapping for type "tutorial.Animal" does not exist."
4062 WARN [main] kodo.MetaData - There has been a change to the
definition of "tutorial.Animal.<version-indicator>" or its schema since it
was last mapped, or the mapping you defined is invalid: "The "column"
attribute/extension for the version indicator on type
"tutorial.Animal.<version-indicator>" is missing or names a column
"JDOVERSION" that does not exist."
4062 WARN [main] kodo.MetaData - There has been a change to the
definition of "tutorial.Animal.<class-indicator>" or its schema since it
was last mapped, or the mapping you defined is invalid: "The
"class-column" attribute/extension for the class indicator on type
"tutorial.Animal.<class-indicator>" is missing or names a column that does
not exist."
4062 WARN [main] kodo.MetaData - There has been a change to the
definition of "tutorial.Animal.name" or its schema since it was last
mapped, or the mapping you defined is invalid: "The "column"
attribute/extension for field "tutorial.Animal.name" is missing or names a
column "NAME0" in table "ANIMAL" that does not exist."
4062 WARN [main] kodo.MetaData - There has been a change to the
definition of "tutorial.Animal.price" or its schema since it was last
mapped, or the mapping you defined is invalid: "The "column"
attribute/extension for field "tutorial.Animal.price" is missing or names
a column "PRICE" in table "ANIMAL" that does not exist."
4078 INFO [main] kodo.Tool - Mapping tool running on type "class
tutorial.Dog" with action "refresh".
4078 INFO [main] kodo.Tool - Mapping tool running on type "class
tutorial.Rabbit" with action "refresh".
Exception in thread "main" kodo.meta.JDOMetaDataNotFoundException: No JDO
metadata was found for type "class tutorial.Rabbit". Ensure that your JDO
metadata files are accessible via resource lookup at runtime (typically
this means they must be in your CLASSPATH), and that they are located in
one of the JDO standard locations.
at
kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDataRepositoryImpl.java:131)
at
kodo.meta.DelegatingJDOMetaDataRepository.getMetaData(DelegatingJDOMetaDataRepository.java:123)
at
kodo.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:161)
at kodo.jdbc.meta.MappingTool.refresh(MappingTool.java:576)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:909)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:850)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:783)
C:\Apps\kodo-jdo-3.1.2\tutorial\solutions>It sounds like your CLASSPATH is not set up correctly. Did you follow
the instructions in the README for setting up your environment? -
O/R mapping tool with WebLogic
Hi
What is the most popular O/R mapping tool used with WebLogic - TopLink? CocoBase?
Anything else?
Also, does anyone have market share numbers for this tool, e.g. out of the total
number of O/R tools used with WebLogic, XYZ's share is 75%.
Thanks in advance!
Ashish Ray(from toplink support)
Andrew,
Hi there. I've performed some research regarding
your question, and it appears that having an
"automatic" 1:1 indirect relationship between an EJB
2.0 Entity Bean and a dependent Java object is not
currently supported by TopLink. Examining the
documentation, this non-support unfortunately isn't
documented. I have entered a feature request on your
behalf so that we might be able to support it in a
future major version of TopLink.
However, there are a couple of alternatives which
you can use:
1) We do support non-indirect 1:1 relationships
between an EJB 2.0 Entity Bean and a dependent Java
object. You could disable indirection, and maybe
make the relationship a batch read relationship so
that your performance will not be degraded.
2) You can write a concrete getter and setter, and
provide an instance variable on the entity bean for
your dependent object of type ValueHolderInterface.
Provide the private getters and setters for set and
get -Holder. Map this normally using TopLink, and
make sure Indirection is specified in the Mapping
Workbench.
IMPORTANT: TopLink will handle the normal
persistence management for this relationship,
however you will need to handle the merging back of
this object yourself (you had to do this in EJB 1.1
in TopLink as well). Luckily there are good docs on
this, and it's covered in detail - look at the
TopLink for WebLogic documentation : Runtime
Considerations > Managing dependent objects.
Personally, I would implement solution 1) with batch
reading on the attribute, because the dependent
object shouldn't be that "big" (otherwise it would
be an entity bean). This is an easier solution,
however you should investigate 2) fully yourself. -
Horizontal mapping & mapping tool
Hi,
Can MappingTool populate mapping data, given only jdo metadata?
Example follows:
<jdo>
<package name="com.bear.fi.tradehub.domain.test">
<class name="BaseJDO" identity-type="datastore">
<extension vendor-name="kodo" key="jdbc-class-map"
value="horizontal"/>
<field name="a" persistence-modifier="persistent"/>
</class>
</package>
</jdo>
// subclass SubOneJDO extends BaseJDO
<jdo>
<package name="com.bear.fi.tradehub.domain.test">
<class name="SubOneJDO" identity-type="datastore"
persistence-capable-superclass="com.bear.fi.tradehub.domain.test.BaseJDO">
<extension vendor-name="kodo" key="jdbc-class-map" value="base"/>
<field name="b" persistence-modifier="persistent"/>
</class>
</package>
</jdo>
When i run mapping tool on this metadata, i get table for SubOne created
and it has columns for a and b, as expected
However, mapping tool itself crashes with a null pointer exception and
fails to update mapping information in metadata.
kodo.util.FatalException: java.lang.NullPointerException
NestedThrowables:
java.lang.NullPointerException
at kodo.jdbc.meta.MappingTool.record(MappingTool.java:518)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:912)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:850)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:783)
Caused by: java.lang.NullPointerException
at
kodo.jdbc.meta.MetaDataMappingFactory.addExtensions(MetaDataMappingFactory.java:253)
at
kodo.jdbc.meta.MetaDataMappingFactory.addMappingExtensions(MetaDataMappingFactory.java:219)
at
kodo.jdbc.meta.MetaDataMappingFactory.storeMappings(MetaDataMappingFactory.java:162)
at kodo.jdbc.meta.MappingTool.record(MappingTool.java:481)
... 3 more
NestedThrowablesStackTrace:
java.lang.NullPointerException
at
kodo.jdbc.meta.MetaDataMappingFactory.addExtensions(MetaDataMappingFactory.java:253)
at
kodo.jdbc.meta.MetaDataMappingFactory.addMappingExtensions(MetaDataMappingFactory.java:219)
at
kodo.jdbc.meta.MetaDataMappingFactory.storeMappings(MetaDataMappingFactory.java:162)
at kodo.jdbc.meta.MappingTool.record(MappingTool.java:481)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:912)
at kodo.jdbc.meta.MappingTool.run(MappingTool.java:850)
at kodo.jdbc.meta.MappingTool.main(MappingTool.java:783)
Exception in thread "main"
Kodo being used is 3.1.0
Thanks,
EgidijusA stringified object ID is the reference of an object that has been converted to a string so that it may be stored in a text file. It is used for detached instances of persistent classes using datastore id.
Laurent -
Best O/R Mapping Tool Available
I would be the most grateful if you help me to chose the best FREE Object/Relational Mapping tool/code library.
Any suggestion is welcome.
Thanks.I found
http://objectbridge.sourceforge.net/
I heard something about a project named S. O. D. A. or similiar, a kind of Java API for treating an RDBMS like a OODBMS, I think. -
Bug in exists() function of XI Graphical Mapping Tool?
Hi!
If I connect a source field with the exists() function in XI Graphical Mapping Tool and the tag exists it returns TRUE, otherwise it returns FALSE, so everything works as expected.
But I have to connect a user-defined function with exists(). The user-defined function will either calculate a value or set Resultset.SUPPRESS.
If there is a value the exits() function returns TRUE, however if Resultset.SUPPRESS is set it does also return TRUE! This looks to me like a bug in exists() function. Shouldn't it always return FALSE if the input is Resultset.SUPPRESS?
Regards, TanjaHi Stefan!
> The exists() function checks, if a queue is empty.
> An empty queue is <b>not</b> represented by the
> SUPPRESS value.
> If inside a queue there is a SUPPRESS value, the
> queue is <b>not</b> empty.
Ok, so it's not a bug and the exists() function is working as expected.
> If you want the exist() function after a UDF, provide
> an empty queue, or easier: return the values "true"
> or "false" directly from the UDF.
Yes, that's how I actually solved the problem. The UDF was used at several places where the ResultList.SUPPRESS output was needed. So I copied the UDF and changed it so that the output was TRUE or FALSE instead.
Regards, Tanja -
Creation of DTO object from Azure SDK 2.4 CreateQuery
HI,
I looking generic approach for performing Server side project and resolve with Entity Resolve class Method. Does any1 has good example for converting Azure Table Instance (Object) to DTO object.
For example to implement DTO object in Azure SDK 2.4 Table Storage. I saw some sample like Resolve(EntityAdapter.AdapterResolver> but looks like conversion happen on Client not on server side. Table Service pulls all the properties of an entity to client
side and filers required properties @ client. I'm looking for generic approach where I get entity with only required properties from server side projections i.e send only required properties to client this will reduce load, since less payload.
When i try to use TableQuery<DynamicTableEntity>().where (<Predicate>)
where Predicate is expected in format FUNC<T,Bool> where T is of type DynamicTableEnitty. But i cant pass of type DynamicTableEntity,can we pass instead of DynamicTableEntity with ITableEntity .
MahenderHi,
>>I'm looking for generic approach where I get entity with only required properties from server side projections
As far as I know, If we want to get the entity with required properties, we could consider use SelectColumns Property, refer to
http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storage.table.tablequery.selectcolumns.aspx for more details, the code below may give you some tips.
TableQuery<CustomerEntity> tquery = new TableQuery<CustomerEntity>();
List<string> cloumns = new List<string>();
cloumns.Add("PhoneNumber");
tquery.SelectColumns = cloumns;
var result = cloudTable.ExecuteQuery(tquery);
Best Regards,
Jambor
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Hi All,
I am abap consultant, so its difficult to write a XSLT mapping program.
Is there any XSLT mapping tool available on net to use free?
Which can take source XML & Target XML and upon doing graphical mapping
it generates the XSLT mapping program between source & target XML.
RegardsRohan,
Is there any XSLT mapping tool available on net to use free?
Yes, Stylus Studio and Altova have free download-able tool for XSL Mapping.
Which can take source XML & Target XML and upon doing graphical mapping
it generates the XSLT mapping program between source & target XML.
I don't think there is any tool which will make use of graphical mapping to create an XSL Mapping.
But the point is, if you are creating a graphical mapping, why you need XSL?
Regards,
Neetesh -
Different mapping tools in the market -- For BPM mapping in XI
Hi All
I am more intersted in learning the BPM mapping tools(3rd party or any)
Can any list out the different tools and which are the best ?
Our company looking forward to implement XI (BPM's) with mapping tools
Can any help me on this
Regards
RakeshHi Rakesh,
plz have a look to <a href="http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm">SAP Library: SAP Exchange Infrastructure</a> for understanding XI, BPM and Mappings.
BPM has no special mapping tool. You can use Java, ABAP, XSLT and graphical Mapping (Message Mapping) at XI, for any case - BPM or not. 3rd Party has nothing to do with BPM or Mapping. That means a non SAP system.
Regards,
Udo -
Hi,
Most of my flows are <b>"IDoc -> file" or "file -> Idoc"</b>, and I need to manage several transcodification tables for different countries (I prefer a DDIC table to FixValue or Value mapping) and with an amount of Business systems (more than 300).
Before this week, I used <b>Graphical mapping</b>... but with some difficults to manage correctly several levels of IDoc segments. Graphical mapping is easy to use when there are one or two "0...unbound" segments but no more. And you cannot have an easy access to a DDIC (need to use an RFC in BPM).
Since I'm trying to use <b>abap mapping</b>... but with some difficults to manage correctly the creation of an "0..unbound" messages, in order to distribute them to one or several receivers. Abap mapping is esay to use when there is only one receiver (no management before a block "Multiline to single line"; and it is interresting for requests on DDIC tables (very easy). But it seems there is some differences between a testing with tcode "sxi_mapping_test" (thus in foreground ==> easy to debug) and with the execution of the scenario (thus in background ==> difficult to debug).
I don't know yet the XSLT mapping and the Java mapping (a complete one, not a java function inside graph mapping).
Inside XI 3.0, for such flows, is there a <b>mapping tool</b> which is better than the other with IDocs?
Regards.
Mickael.You can call Java programs from XSLT mapping.
So any lookups you can code in Java and call it from XSLT program.
Below is the link to know more on XSLT Mapping with Java Enhancement.
http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/frameset.htm
There are couple of blogs on the same.
Hope it helps,
Regards,
Satish
Maybe you are looking for
-
Olá a todos. Uso recentemente o Mozilla Thunderbird e estou com dúvida de como posso alterar o tamanho da caixa de pastas locais. Tenho muitos emails antigos, mas ao enviá-los para pastas locais criadas, em um certo momento me retorna uma mensagem de
-
I can't seem to get restore from backup to work
I lost an entire feature film project in FCPX 10.1.2. Gulp. I was trying to export to Blu Ray, then tried to just export the Blu Ray file to hard drive, i.e., I gave it 2 commands at almost the same time. My fault, but then FCPX started acting funny,
-
Select Query Hangs / No DB Locks / Query Plan is good
I have below query in application which hangs ( Only sometimes ) and there are some session which also try to insert data into this tables also starts getting hanged. SELECT DISTINCT F2 || ' - ' || F3 || ' - ' || F4 FROM Table1 WHERE F4 = 6160 AND F1
-
/etc/init.d/imq script fix for RedHat Linux?
I'm using Message Queue 3.0.1 SP2 (Build 4-a) Platform Edition and trying to get it set up to run on a RedHat machine. I am finding that ps (procps version 2.0.7) is not compatible with the script installed as /etc/init.d/imq. Specifically, that scri
-
[solved] MTGO wine error
anyone else have mtgo working under wine? here's what I'm currently getting. edit: just had to install dotnet20 Last edited by Stythys (2011-05-25 11:43:04)