Datastax java驱动程序3.0.0找不到枚举注释 [英] Datastax java driver 3.0.0 Enumerated annotation not found
问题描述
希望我正在阅读文档:
http://docs.datastax.com/en/developer/java-driver/3.0/java-driver/reference/crudOperations.html 。
Hope I am reading the docs well: http://docs.datastax.com/en/developer/java-driver/3.0/java-driver/reference/crudOperations.html.
枚举注释
The Enumerated annotation
如果您的类包含枚举类型字段,则使用枚举注记。
If your class contains an enum type field, you use the Enumerated annotation.
我有一个Java枚举,我想使用@Enumerated注释,但我似乎没有找到它在3.0.0版本的驱动程序,它存在于2.1.9中。
I have a Java enum and I want to use the @Enumerated annotation, but I can't seem to find it in 3.0.0 version of the driver, it was present in 2.1.9.
$ find . -type f -name \*.jar|while read i; do echo ====== $i =====; jar -tf $i|grep Enumerated; done
====== ./cassandra-driver-core/2.1.4/cassandra-driver-core-2.1.4-javadoc.jar =====
====== ./cassandra-driver-core/2.1.4/cassandra-driver-core-2.1.4-sources.jar =====
====== ./cassandra-driver-core/2.1.4/cassandra-driver-core-2.1.4.jar =====
====== ./cassandra-driver-core/2.1.5/cassandra-driver-core-2.1.5.jar =====
====== ./cassandra-driver-core/2.1.7.1/cassandra-driver-core-2.1.7.1.jar =====
====== ./cassandra-driver-core/2.1.9/cassandra-driver-core-2.1.9.jar =====
====== ./cassandra-driver-core/3.0.0/cassandra-driver-core-3.0.0-sources.jar =====
====== ./cassandra-driver-core/3.0.0/cassandra-driver-core-3.0.0.jar =====
====== ./cassandra-driver-dse/2.1.5/cassandra-driver-dse-2.1.5.jar =====
====== ./cassandra-driver-extras/3.0.0/cassandra-driver-extras-3.0.0.jar =====
====== ./cassandra-driver-mapping/2.1.4/cassandra-driver-mapping-2.1.4-javadoc.jar =====
com/datastax/driver/mapping/annotations/class-use/Enumerated.html
com/datastax/driver/mapping/annotations/Enumerated.html
====== ./cassandra-driver-mapping/2.1.4/cassandra-driver-mapping-2.1.4-sources.jar =====
com/datastax/driver/mapping/annotations/Enumerated.java
====== ./cassandra-driver-mapping/2.1.4/cassandra-driver-mapping-2.1.4.jar =====
com/datastax/driver/mapping/annotations/Enumerated.class
====== ./cassandra-driver-mapping/2.1.7.1/cassandra-driver-mapping-2.1.7.1.jar =====
com/datastax/driver/mapping/annotations/Enumerated.class
====== ./cassandra-driver-mapping/2.1.9/cassandra-driver-mapping-2.1.9.jar =====
com/datastax/driver/mapping/annotations/Enumerated.class
====== ./cassandra-driver-mapping/3.0.0/cassandra-driver-mapping-3.0.0-sources.jar =====
====== ./cassandra-driver-mapping/3.0.0/cassandra-driver-mapping-3.0.0.jar =====
发布?
推荐答案
看起来像@Enumerated的支持已被删除。现在,枚举支持由drivers-extras中的编解码器提供。查看这两张附加信息的机票: JAVA-605 和 JAVA-846 。
It looks like support for @Enumerated has been removed. Now, enums support is provided by the codecs in drivers-extras. Check out these two tickets for addtional info: JAVA-605 and JAVA-846.
您的枚举代码可能类似的a href =https://github.com/datastax/java-driver/commit/99de43355315d26a7898ba1ff272dce45c19168b#diff-65fed7351e93083ce320a8816fdd839eR211 =nofollow>示例是:
An example of what your enums code might look like is:
[使用]
EnumOrdinalCodec
和EnumNameCodec
:
java
enum Foo {...}
enum Bar {...}
// register the appropriate codecs
CodecRegistry.DEFAULT_INSTANCE
.register(new EnumOrdinalCodec<Foo>(Foo.class))
.register(new EnumNameCodec<Bar>(Bar.class))
// the following mappings are handled out-of-the-box
@Table
public class MyPojo {
private Foo foo;
private List<Bar> bars;
...
}
正在修复文档。
We are in the process of fixing the documentation.
这篇关于Datastax java驱动程序3.0.0找不到枚举注释的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!