Closed PeterWolters closed 9 years ago
Well, it does. Not with that syntax of course, but using a simple loop:
Insert.Builder builder = insertInto(TRAN)
.withGeneratedValue("ID", ValueGenerators.sequence().startingAt(1L).incrementingBy(1))
.columns("NAME", "ADDRESS")
.values("Donald", "Duckstad");
for (int i = 0; i < 1000; i++) {
builder.values("Donald", "Donald");
}
Operation INSERT_NAME_1K = builder.build();
Your suggested syntax is of course prettier, although less flexible. Do you have to do that often? I personally had to do that once, and thus didn't really feel the need for such a feature. But if you can convince me it's useful, why not.
I agree with you that the desired requirement can be be fulfilled with a for loop.
For readability and maintainability reasons I think its a nice feature to have. You can construct with one statement the desired operation without using any, ugly, for loop and writing extra code.
I hope this convinces you :)
Peter.
@PeterWolters FYI, I just release version 1.6.0, containing this feature, which should be available soon in Maven central. See http://dbsetup.ninja-squad.com/release-notes.html
@jnizet , Glad to see that my arguments convinced you! Thank you very much for implementing this neat feature!
Kind regards,
Peter Wolters.
Goodafternoon,
First of all, thank you for this superb framework.
It would be a nice addition if the framework supports some kind of bulk insertion mechanism.
See example below: Operation INSERT_NAME_1K = insertInto(TRAN) .withGeneratedValue("ID", ValueGenerators.sequence().startingAt(1L).incrementingBy(1)) .columns("NAME", "ADDRESS") .values("Donald", "Duckstad") .valuesToRepeat("Donald", "Donald").times(1000) .build();