[
https://issues.apache.org/jira/browse/CAY-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrus Adamchik closed CAY-1752.
--------------------------------
Resolution: Duplicate
Closing this task. Will track DbAttribute Java type under a new CAY-2740
> DbAttribute should have its own "javaType"
> ------------------------------------------
>
> Key: CAY-1752
> URL: https://issues.apache.org/jira/browse/CAY-1752
> Project: Cayenne
> Issue Type: Improvement
> Components: Core Library
> Reporter: Andrus Adamchik
> Assignee: Andrus Adamchik
> Priority: Major
> Attachments:
> 0001-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0002-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0003-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0004-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0005-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0006-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0007-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0008-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0009-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0010-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 0011-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0001-0012-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0013-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0014-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0015-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0016-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch,
> 1-0017-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch
>
>
> Let's make "javaType" a property of DbAttribute. By default it will be
> auto-generated from JDBC type. And we can allow to optionally override it at
> the ObjAttribute level (with an explicit conversion when creating objects
> from DataRows).
> h2. Problems it Solves
> * Non-standard type mapping (the whole OTHER type implies we provide some
> Java class for it). This provides runtime consistency and eliminates the
> internal hacks such as when Cayenne would try to guess which ObjEntities
> might use this DataRow, and populate DataRows with values corresponding to
> the ObjAttribute type definitions. This clearly breaks layer separation and
> doesn't always work.
> * Unexpected PK types. PK columns are often not mapped as ObjAttributes, so
> their type is guessed by Cayenne, and if the type is something vague such as
> NUMBER, you may get BigDecimals, and other inappropriate types, and you can
> no longer reliably compare objects.
> Prior discussions:
> * http://markmail.org/message/6bs2suislyfp3apk
> * http://markmail.org/message/icr7seqazgsdtewc
--
This message was sent by Atlassian Jira
(v8.20.10#820010)